/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.lardocelar.dispositivo;

import br.com.lardocelar.core.ServicoInterpretadorComando;
import br.com.lardocelar.core.ServicoSistema;
import java.io.IOException;
import java.net.MalformedURLException;
import javax.media.NoPlayerException;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 *
 * @author LeandroL
 */
public class Servidor {
    
    public static void main(String[] args) throws IOException, InterruptedException, MalformedURLException, LineUnavailableException, UnsupportedAudioFileException, NoPlayerException{
        String NOME_SISTEMA = "James";
        System.out.println("********** INICIALIZAÇÃO SERVIDOR **********");
        Definir();
        do
        {
            System.out.print("Comando:");
            String comando = ServicoSistema.Ouvir();
            if( !comando.isEmpty() )
            {
                String[] comandos = comando.split(" ");
                if(comandos.length >= 1)
                {
                    if(comandos.length == 1 && comandos[0].equalsIgnoreCase(NOME_SISTEMA))
                    {
                        ServicoSistema.Falar("Pois não?");
                    }
                    else
                    {
                        if(comandos[0].equalsIgnoreCase(NOME_SISTEMA))
                        {
                            String[] comandosTemp = new String[comandos.length - 1];
                            for(int x = 1; x <= comandos.length - 1;x++ )
                            {
                                comandosTemp[x-1] = comandos[x];
                            }
                            comandos = comandosTemp.clone();
                        }
                        else if(comandos[0].equalsIgnoreCase("Sair"))
                        {
                            System.out.print("Bye!");
                            System.exit(0);
                        }
                        ExecutarComando(comandos);
                    }
                }
            }
        }while(true);
    }
    
    private static void ExecutarComando(String[] comandos) throws IOException, InterruptedException{
        ServicoInterpretadorComando servicoInterpretadorComando = new ServicoInterpretadorComando();
        servicoInterpretadorComando.ReceberComando(comandos);
    }
    
    private static void Definir() throws IOException
    {
        org.jsoup.nodes.Document doc = Jsoup.connect("http://pt.wikipedia.org/wiki/Wikip%C3%A9dia:P%C3%A1gina_principal").get();
        Element link = doc.select("#mf-artigos-destacados").first();

        String text = doc.body().text(); // "An example link"
        String linkHref = link.attr("href"); // "http://example.com/"
        String linkText = link.text(); // "example""

        String linkOuterH = link.outerHtml(); 
            // "<a href="http://example.com"><b>example</b></a>"
        String linkInnerH = link.html(); // "<b>example</b>"
    }
}
